#include "lwip/tcp.h"
#include <sys/_stdint.h>

#include <cstdint>
#include "Console.h"
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h> // Hardware-specific library for ST7735


TaomuST7735::~TaomuST7735(){}
TaomuST7735::TaomuST7735(){
    st7735 = new Adafruit_ST7735(TFT_CS, TFT_DC, TFT_SDA, TFT_SCL, TFT_RST);

    st7735->initR(INITR_BLACKTAB);
   
    st7735->setRotation(3);
    st7735->setTextWrap(false);
}

void TaomuST7735::println(const char *  text){
     println(text,1);
}

void TaomuST7735::print(const char *  text,uint8_t size){
    st7735->setTextColor(ST77XX_GREEN);
    st7735->setTextSize(size);
    st7735->print(text);
}

void TaomuST7735::print(const char *  text,uint16_t color,uint8_t size){
    st7735->setTextColor(color);
    st7735->setTextSize(size);
    st7735->print(text);
}

void TaomuST7735::print(const char *  text,int16_t x,int16_t y,uint8_t size){
    st7735->fillScreen(ST77XX_BLACK);
    st7735->setCursor(x, y);
    st7735->setTextColor(ST77XX_GREEN);
    st7735->setTextSize(size);
    st7735->print(text);
}

void TaomuST7735::print(const char *  text,int16_t x,int16_t y,uint16_t color,uint8_t size){
    st7735->fillScreen(ST77XX_BLACK);
    st7735->setCursor(x, y);
    st7735->setTextColor(color);
    st7735->setTextSize(size);
    st7735->print(text);
    
}


void TaomuST7735::println(const char *  text,uint8_t size){
    st7735->setTextColor(ST77XX_GREEN);
    st7735->setTextSize(size);
    st7735->println(text);
}

void TaomuST7735::println(const char *  text,uint16_t color,uint8_t size){
    st7735->setTextColor(color);
    st7735->setTextSize(size);
    st7735->println(text);
}

void TaomuST7735::println(const char *  text,int16_t x,int16_t y,uint8_t size){
    st7735->fillScreen(ST77XX_BLACK);
    st7735->setCursor(x, y);
    st7735->setTextColor(ST77XX_GREEN);
    st7735->setTextSize(size);
    st7735->println(text);
}

void TaomuST7735::flush(){
    //st7735->invertDisplay(true);
}

